#include "BEADVARData.h"

#include "DataStructure/Common/Validation.h"

using namespace SG::DataStructure::FEM;

bool SG::DataStructure::FEM::operator==(
    const BEADVARData::DIRECTIONData& val1,
    const BEADVARData::DIRECTIONData& val2) {
  FIELD_COMPARE(m_NORM)
  FIELD_COMPARE(m_CID1)
  FIELD_COMPARE_ARR(m_N, 3)
  FIELD_COMPARE(m_XLB)
  FIELD_COMPARE(m_XUB)
  FIELD_COMPARE(m_DELXV)
  return true;
}
bool SG::DataStructure::FEM::operator==(const BEADVARData::GRIDSETData& val1,
                                        const BEADVARData::GRIDSETData& val2) {
  FIELD_COMPARE(m_NDGSET)
  FIELD_COMPARE(m_DGSET)
  return true;
}
bool SG::DataStructure::FEM::operator==(const BEADVARData::PATTERNData& val1,
                                        const BEADVARData::PATTERNData& val2) {
  FIELD_COMPARE(m_CID3)
  FIELD_COMPARE(m_PATTY)
  FIELD_COMPARE(m_PATDIR)
  return true;
}
bool SG::DataStructure::FEM::operator==(const BEADVARData::SYMPLANEData& val1,
                                        const BEADVARData::SYMPLANEData& val2) {
  FIELD_COMPARE(m_CID2)
  FIELD_COMPARE(m_MS1)
  FIELD_COMPARE(m_MS2)
  FIELD_COMPARE(m_MS3)
  FIELD_COMPARE(m_CSM)
  FIELD_COMPARE(m_NCSM)
  return true;
}

bool SG::DataStructure::FEM::operator==(const BEADVARData& val1,
                                        const BEADVARData& val2) {
  FIELD_COMPARE(m_id)
  FIELD_COMPARE_ARR(m_PTYPE, 8)
  FIELD_COMPARE(m_pId)
  FIELD_COMPARE(m_MW)
  FIELD_COMPARE(m_MH)
  FIELD_COMPARE(m_ANG)
  FIELD_COMPARE(m_BF)
  FIELD_COMPARE(m_SKIP)
  FIELD_COMPARE(m_domainId)
  return true;
}